30/05/06
Added Warning_Inner_Counter_Reset as a constant for the reload value of the warning loop
set the value to .80 for the Dash1, not yet set for the dash2

edited menu.inc and sectime.inc to use the new value  TESTED

Butpres.inc
Removed section to check if a warning is present as this routine is never called when a warning is active TESTED

Menu.inc
Added code to check for button press during warnings and clear warning if found. TESTED

Menupres.inc
added a space between display timea and 'S' for sector and warning time displays on Dash1 TESTED

02/06/06
Menu.inc
Added check for upper and lower limits on sector and warning display times.

07/06/06
decoder.asm 
Changed brown out voltage to 4.5v from 2.7v

09/06/06
Modified main code so that no code from the bootloader is used after startup.  This is to aid with the problems of incompatible bootloaders

Edited file to remove the forced values for filtering
Testing filtering on lat and long accel with the values:
Lat accel  rate of change 0.02, number of samples 1
Long accel rate of change 0.05, number of samples 2

Modified menu.inc to not use the eeprom value for Update_Rate_Value to improve the response time after a menu change.

04/07/06
Modification to loaddata.inc to correct the frequency inputs. Order of frequency inputs may need changing in the configuration software, Kieran investigating
Fault in filter application fixed, filters now work correctly with 0dp displayed.

21/8/06
Inverted brake test input so that the LED now comes on with the input held low
moved all the display routines out of the bootloader
Changed RPM calibration loading and storage routine to remove problem with the location of the data loading and saving
modified Program memory writing routine to make sure it can only write to the calibration memory space
Reset RPM and MPH if no input has been detected for some time. settable in the firmware
Shift LEDS all turned off at startup

16/10/06
Changed menu.inc to light tick with circle when data logger is logging data
Added option to not display distance readouts if not required, edited menu and added bit variable
Added display of screen number for a short while when a screen is changed
Light 1010101 when serial data is received on the serial port.
Added LCD and LED test routines to run when the DASH2 is put in the calibration mode

3/11/06
Altered LED.inc to include a routine to flash the shift light
Shift lights now operate in seven stages, with last stage flashing the lights
Demo mode added to software which gives a fixed display

21/11/06
Fixed odometer display routine so preference is now stored correctly
Confirmed operation in DASH1 and DASH2 mode

29/11/06
Moved the interrupt points for high and low level interrupt to make them the same as for the earlier software


25/01/07
Moved some areas of code around in memory to make the software compile for the DASH1

31/01/07
DASH1 version, 
Modified warning display lines as end of line character was missing
warning LED is now cleared if there is no warning active
Moved string table to after 800h as it was not displaying properly.

12/2/07
Increased pulse limit for wheel speed inputs

13/2/07
Fixed problem with RPM bargraph display on DASH2 mode and RPM inputs not being read.

2/3/07
Implemented decoding of extra channels for the ECU interface and changed the output data format to the RT format for commands

15/3/07
Implemented further channels for serial decoding
Slowed down updates of the display to enable operation with speedbox
Modified config updates so channel data has to be received before other data can be processed


19/3/07
Reset the timer delay for message display in menu.inc as screen changes were not being displayed on some DASH2s

11/4/07
Fixed problem with reading frequency data in on DASH2
Removed requirement for 70 bytes of data in buffer before decoding to speed up reads
Reset lap counter at start of run
Enable button operation to reset lap time and to reset lap counter
Fixed problem with Lap timing which always showed positive sector times

12/4/07
Added gear indicator from Analogue input 1
Added three extra soft buttons Menu-UP, Menu-Down, and Menu-Select
modified delay hold time and delay reduction time on RPM scale

19/4/07
Added watchdog timer

20/4/07
Modified warning section to ensure that only one warning at a time can be detected.

24/4/07
changed back to old version of sending character to start/stop logging

25/4/07
Added check to channel storage routine to require 5 bytes of zeros in the data.

26/4/07
Fixed storage of analogue gear preferences.

2/5/07
Fixed storage of display times for warning and sector times.

3/5/07
Fixed priority for error reporting on DASH2

18/5/07
Various modifications to DASH1 version of firmware for compatibility with old version

22/5/07
Fixed timer for lap/sector timer display on DASH1

30/5/07
Modified the LCDDrive file to work with the new REV I PCB, 
Autodetects the LCD driver type from the Bootloader version
Version 2 or older is old type, 3 or later is new type.
Tested with both old and new hardware.

5/6/07
Modified channel data decoding routine to store data in a separate buffer so it doesn't currupt DA2 if an error occurs.

13/6/07
Moved the timer countdown firmware from the LCD updating routine to the T1 (status indicator) update routines
This should reduce the variability in timing on the warning times.

9/7/07
Fixed problems which caused the unit to crash if the display is set to show any of the miscellaneous ECU data channels.

20/7/07
Modified software to enable up to 12000 pulses per mile on the speedometer.

27/9/07
Modified ProcMod.inc as high number percentage channels were not displaying properly.

1/10/07
Added code to enable locking of DASH2 to a particular logger unit for use when selling in pairs with data logger
Added code to show version number when Down button is pressed at startup

Version 9 0 0

2/10/07
Added code to DASH1 version to display version number
Tested DASH1 code on old versions of the firmware

2/11/07
Modified serial output routine to use a transmit buffer
Set up Analogue ports to transmit data back to DL1 on analogue channels 17-20
Set up RPM channel to send back RPM data to DL1

5/11/07
Tested on DASH1 build and modification to interrupts to enable DASH1 to send commands to DL1
Version changed to 9 0 1

22/11/07
Added decode routine to decode the logging start / stop status
Version changed to 9 0 2


22/01/08
Fixed Westfield startup problem
Version changed to 9 0 3

06/03/08
Added #DEFINE for OPEL Odometer, 
When set the data for the odometer comes from the calculated distance channel in KM

22/03/08
Added lap time view
Changed firmware to 9 0 4

30/04/08
Added limit to RPM value, clamped to 1000RPM higher than max shift light
Changed firmware to 9 0 5

07/05/08
Added GTM and Microcab versions to the software
Changed maximum display time for warning and sector times to 99
Changed firmware to 9 0 6

30/06/08
Fixed max/min problem with not displaying RPM
Changed warning display time so a value of 99 gives 255 seconds
Changed warnings to flash top two LEDs when warning active.
Changed firmware to 9 0 7

Changed priorities for warning displays
Changed firmware to 9 0 8

5/8/08
Modification to update odometer from the RS232 speed data

26/8/08
Fixed bug in decoding of variable length messages
Changed DASH1 and DASH2 version numbers to 9 1 0.

30/10/08
Fixed bug on decoding of frequency channels
Changed version number to 9 1 1

20/01/09
Modified locking code to work with any serial number 11000 or higher
Modified command output routine to transmit highest serial number received.
Changed version number to 9 1 3


19/3/09
Added decoding for video sample number and tested with VIDEO4
Changed version number to 9 1 5

1/5/09
Bug fix for storing preferences on lap timing
Changed version number to 9 1 6

22/5/09
Bug fix for lap timing storage menu
Changed version number to 9 1 7

18/08/09
Bug fix for odometer updating on DASH2
Bug fix for variable decoding and random values bug on DASH1
Changed version number to 9 1 8 

7/9/09
Bug fix on odometer readings from memory which were causing the odometer to reset after a reflash.
Changed version number to 9 1 9

27/11/09
Modification to the way configuration data is checked and stored
Changed version number to 9 2 0
Requires DL1 firmware version 34 or later
Requires VIDEO4 firmware version xx or later
Requires DASH1 config software version 1.0.116 or later
Requires DASH2 config software version xx or later

11/2/10
Further modifications to configuration checking
Removed auto baud rate detection, baud rate fixed at 115.2k
Version number changed to 9 2 1 